﻿using System;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using Abp.AutoMapper;
using Abp.Runtime.Validation;
using Abp.Extensions;
using LeadThing.AbpZeroTemplate.GridPersons;

namespace LeadThing.AbpZeroTemplate.GridPersons.Dtos
{
    /// <summary>
    /// 网格基本信息编辑用Dto
    /// </summary>
    [AutoMap(typeof(GridPerson))]
    public class GridPersonEditDto
    {

        /// <summary>
        ///   主键Id
        /// </summary>
        [DisplayName("主键Id")]
        public long? Id { get; set; }

        /// <summary>
        /// 人员姓名
        /// </summary>
        [DisplayName("人员姓名")]
        [Required]
        [MaxLength(50)]
        public string PersonName { get; set; }

        /// <summary>
        /// 人员手机号
        /// </summary>
        [DisplayName("人员手机号")]
        [Required]
        [MaxLength(11)]
        public string PersonPhone { get; set; }

        /// <summary>
        /// 身份证号
        /// </summary>
        [DisplayName("身份证号")]
        [Required]
        [MaxLength(18)]
        public string IDCard { get; set; }

        /// <summary>
        /// 人员户籍地
        /// </summary>
        [DisplayName("人员户籍地")]
        [MaxLength(500)]
        public string CensusRegister { get; set; }

        /// <summary>
        /// 备注
        /// </summary>
        [DisplayName("备注")]
        public string Remarks { get; set; }

        /// <summary>
        /// 网格员姓名
        /// </summary>
        [DisplayName("网格员姓名")]
        [Required]
        [MaxLength(50)]
        public string GridName { get; set; }

        /// <summary>
        /// 网格员手机号
        /// </summary>
        [DisplayName("网格员手机号")]
        [Required]
        [MaxLength(11)]
        public string GridPhone { get; set; }

        /// <summary>
        /// 协管员姓名
        /// </summary>
        [DisplayName("协管员姓名")]
        [Required]
        [MaxLength(50)]
        public string AssistName { get; set; }

        /// <summary>
        /// 协管员手机号
        /// </summary>
        [DisplayName("协管员手机号")]
        [Required]
        [MaxLength(11)]
        public string AssistPhone { get; set; }

        /// <summary>
        /// 人员类型ID
        /// </summary>
        [DisplayName("人员类型ID")]
        [Required]
        public int PersonTypeID { get; set; }

        /// <summary>
        /// 是否涉军类
        /// </summary>
        [DisplayName("是否涉军类")]
        public bool IsArmy { get; set; }

        /// <summary>
        /// 地址
        /// </summary>
        [DisplayName("地址")]
        [MaxLength(500)]
        public string Address { get; set; }

        /// <summary>
        /// 工作情况
        /// </summary>
        [DisplayName("工作情况")]
        [MaxLength(500)]
        public string WordSituation { get; set; }

        /// <summary>
        /// 镇
        /// </summary>
        [DisplayName("镇")]
        [Required]
        public int TownID { get; set; }

        /// <summary>
        /// 区
        /// </summary>
        [DisplayName("区")]
        [Required]
        public int AreaID { get; set; }

        /// <summary>
        /// 村庄
        /// </summary>
        [DisplayName("村庄")]
        [Required]
        public int VillageID { get; set; }

    }
}
